package com.cloud.test02;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author DELL
 * 请求乱码问题           Tomcat8以上版本：                                                Tomcat7以下版本：
 *                      get请求时中文不会出现乱码                                          get请求会出现乱码
 *                      post请求时默认字符集不支持中文，会出现？？？乱码                       post请求时默认字符集不支持中文，会出现？？？乱码
 * 解决：
 *            post：                                                         get：
 *            通过设置服务器解析编码格式  req.setCharacterEncoding("UTF-8");      new String()针对任何请求方式，但是若无乱码情况下强行转换则会有乱码出现
 */
@WebServlet(value = {"/RTest02", "/rtest02", "/Rtest02", "/rTest02"})
public class RequestTest02 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置服务器编码模式
        req.setCharacterEncoding("UTF-8");

        //获取客户端传递的参数
        // * 获取指定名称的参数，返回字符串 ****
        String uName = req.getParameter("userName");
        String uPassword = req.getParameter("userPassword");
        System.out.println("uName = " + uName + " uPassword = " + uPassword);
        // * 获取请求时的参数字符串 （从？后面开始到结尾）
        String queryString = req.getQueryString();
        System.out.println("获取请求时的参数字符串 " + queryString);
    }


}
